docs: digital cards, Google avatar upload, bulk device un-manage - #75
Merged
Merged
Conversation
New Digital Cards section (ENG-542 / ENG-555 / ENG-556): - Overview, Template, Fields, Offboarding, Domain, Managing a user's card - Employee Guide page for the employee portal 'My digital card' surface - Includes a feature-availability admonition: the feature is enabled per-org under Settings > Features > Digital Business Cards Google Workspace profile photo (ENG-656): - New Profile Photo section on Editing a user, gated to orgs with a Google directory; documents the 10 MB / image-only limits, Google's thumbnail resize, and why JumpCloud-only users are excluded Bulk device un-manage (ENG-592): - Device actions: new 'Un-managing several devices at once' section covering type-to-confirm, per-device results, throttling, and the shared CanDeleteDevices permission - Viewing devices: multi-select and Bulk Actions on the inventory grid 62 screenshots captured from demo.shiftcontrol.io at 1440x900 across jc-google / jc-only / gws-only and light + dark. New screenshots and the routes/interactions needed to recapture them are registered in screenshot-manifest.json. npm run build passes with no broken links or anchors; scripts/check-images.sh reports 0 broken references.
- Update React and React DOM from 19.2.7 to 19.2.8 - Update body-parser from 1.20.5 to 1.20.6 - Update brace-expansion from 5.0.6 to 5.0.8 with Node.js engine constraint change - Update fast-uri from 3.1.2 to 3.1.4 - Update js-yaml from 4.2.0 to 4.3.0 - Update nanoid from 3.3.11 to 3.3.16 - Update postcss from 8.5.14 to 8.5.25 - Update shell-quote from 1.8.4 to 1.10.0 - Bump package version to 1.3.1
The gws-only variants of Users/User-avatar-upload were captured using the JumpCloud Mongo user id from the manifest's knownIds while in gws_only mode. That id has no Google directory linkage in the Google-only demo, so the record rendered as initials with no photo and no pencil badge — the exact affordance the surrounding docs tell the reader to click. AddOrEditUser.tsx renders the pencil badge only when isEligibleForAvatarUpload is true, which requires the user to be present in an enabled Google directory. Recaptured both themes against Google numeric user id 100000000000000000001, which resolves a properly linked record and shows the badge. This was a capture error, not a product limitation: the Google-only path works, so the documented requirements are unchanged. Recorded the mode-specific user-id trap in screenshot-manifest.json (knownIds note plus the Users/User-avatar-upload action field) so a future recapture doesn't repeat it.
Deploying shiftcontrol-docs-prod with
|
| Latest commit: |
65aebc4
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://e46c8342.shiftcontrol-docs-prod.pages.dev |
| Branch Preview URL: | https://docs-digital-cards-avatar-bu.shiftcontrol-docs-prod.pages.dev |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds documentation for three features: digital business cards, Google Workspace profile photo upload, and bulk device un-manage.
New section: Digital Cards
A new category under Using ShiftControl, between Devices and Reports:
Each page carries a feature-availability admonition, since digital cards is enabled per organization under Settings → Features.
Sidebar labels use the product's own tab names (Template, Fields, Offboarding, Domain) rather than repeating "Card" beneath a "Digital Cards" parent. Page titles are unchanged.
New page: My Digital Card (Employee Guide)
employee-guide/employee-portal/my-card, written for employees rather than admins. Covers activating a card, then all four tabs: viewing and sharing it, editing photo and details, choosing a QR medallion, and publishing plus the card PIN. Includes a common-questions section on who can see a card, what happens when someone leaves, and why some fields can't be edited.Updated pages
Users → Editing a user — new Profile Photo section, shown only for organizations with a Google Workspace directory. Explains that the image is written straight to the user's Google Workspace profile and appears across Gmail, Calendar, Drive, and Chat; documents the 10 MB and image-only limits, Google's thumbnail resize, and why the control is unavailable for users who aren't linked in Google Workspace.
Devices → Device actions — new Un-managing several devices at once section covering the type-to-confirm step, per-device success and failure reporting, throttling, and the fact that bulk un-manage uses the same permission as the single-device action. Includes a warning to capture disk-encryption recovery keys before running a batch, since there is no bulk reveal. Cross-linked from the existing no-bulk-erase note.
Devices → Viewing devices — documents multi-select and the Bulk Actions menu on the inventory grid, with a tip to filter before selecting.
Screenshots
62 new screenshots, captured at the standard 1440x900 viewport across all three directory configurations and both light and dark themes.
Three configurations rather than one:
ModeScreenshotresolves the screenshot folder from the reader's selected configuration and does not silently fall back, so a single-configuration capture would have rendered broken images for JumpCloud-only and Google-only readers.Two deliberate coverage gaps, both gated via the
modesprop so nothing renders broken, consistent with how other configuration-specific features are handled:screenshot-manifest.jsongains entries and direct URLs for every new screenshot, along with the interaction notes needed to recapture them: the card designer's sub-tab state is component-local so tabs must be clicked rather than addressed by URL, the device grid's selection checkboxes aren't exposed to the accessibility tree, the bulk-actions trigger stays disabled below two selected rows, and demo user ids differ per directory configuration.That last note came out of a review catch on this PR. The Google-only capture of the profile-photo affordance initially used a JumpCloud-style user id, which resolved a demo record with no Google Workspace linkage and therefore showed no photo and no edit badge — the exact control the surrounding text tells readers to click. It has been recaptured against a correctly linked record, and the constraint is now written into the manifest so a future recapture can't repeat it.
Verification
npm run buildpasses with no broken links and no broken anchors, including the new cross-reference into the bulk un-manage section.scripts/check-images.shreports 0 broken references. The duplicate-hash groups it lists are all pre-existing.Note for reviewers
This branch also includes a dependency-bump commit (React 19.2.8 and related updates, package version 1.3.1) that is unrelated to the documentation changes. Happy to split it into its own PR if you'd prefer to review it separately.